home *** CD-ROM | disk | FTP | other *** search
/ Animation How-To / Animation How-to CD.iso / PLY / CHAPTER4 / JELLYDIM / DIAM2.PI < prev    next >
Text File  |  1994-01-01  |  18KB  |  435 lines

  1. //DIAM2.PI
  2.  
  3. start_frame 0
  4. end_frame 71
  5. total_frames 72
  6.  
  7. define ang frame*360/total_frames
  8.  
  9. outfile "diam2"
  10.  
  11. viewpoint {
  12.    from <0,-5,5>
  13.    at <0,0,0>
  14.    up <0,0,1>
  15.    angle 50
  16.    resolution 320,240
  17.    aspect 1.33
  18.    }
  19. background sky_blue*0.16
  20.  
  21. include "\ply\colors.inc"
  22.  
  23. spot_light  <1,0.5,0>, <-5,5, 5>,<0,4,0>,3,5,20
  24. spot_light  <1,0.5,0>, < 5,5, 5>,<0,4,0>,3,5,20
  25. spot_light  <1,1,1>*0.5, < 0,0, 5>,<0,0,0>,3,5,20
  26. spot_light  <1,1,1>*0.5, < 0,0, 5>,<0,0,0>,3,5,20
  27. light white*6,<-50,-50,50>
  28. light white*6,< 50,-50,50>
  29.  
  30.  
  31. light white, <30,-100,100>
  32. light white, <-30,-100,100>
  33.  
  34. define diamond
  35. texture {
  36.    surface {
  37.       ambient 0
  38.       diffuse 0
  39.       specular 0.0
  40.       reflection white, 0.1
  41.       transmission white, 1, 2.6
  42.       }
  43.    }
  44.  
  45. object { disc <0, 0,-2.5>, <0, 0, 1>, 16 reflective_coral }
  46.  
  47. define pi 3.14159
  48. define rad pi/180
  49.  
  50. define blue_ripple
  51.    texture {
  52.       noise surface {
  53.          color navyblue
  54.          normal 2
  55.          frequency 1
  56.          phase -frame*rad*10
  57.          bump_scale 2
  58.          ambient 0.2
  59.          diffuse 0.4
  60.          specular yellow, 0.5
  61.          reflection 0.25
  62.          microfacet Reitz 10
  63.          }
  64.       translate <0,0,frame/5>
  65.       }
  66.  
  67. // make watery walls
  68. define walls
  69.    object {
  70.       object {cylinder <0,0,-100>,<0,0,100>,7.8}
  71.       blue_ripple
  72.    }
  73.  
  74. walls
  75.  
  76. define radius1 1
  77. define radius2 1.4
  78. define radius3 1.8
  79. define radius4 0.8
  80. define radius5 0.01
  81.  
  82. define masteramp 1.3
  83.  
  84. define amplitude1 0.03 * masteramp
  85. define amplitude2 0.02 * masteramp
  86. define amplitude3 0.01 * masteramp
  87. define amplitude4 0.04 * masteramp
  88. define amplitude5 0.05 * masteramp
  89.  
  90. define phase0 80   // hump phase
  91.  
  92. define phase1 0
  93. define phase2 25
  94. define phase3 50
  95. define phase4 75  
  96. define phase5 87  
  97.  
  98. define ht1  1.0
  99. define ht2  0.8
  100. define ht3  0.5
  101. define ht4 -1.0
  102. define ht5 -1.9
  103.  
  104. define wave 4
  105. define bump 1.3
  106.  
  107. define height1 ht1 + amplitude1 * (wave * cos(rad * (ang- phase1)) + EXP(bump * (1 + cos((ang- phase0- phase1) * rad))))
  108. define height2 ht2 + amplitude2 * (wave * cos(rad * (ang- phase2)) + EXP(bump * (1 + cos((ang- phase0- phase2) * rad))))
  109. define height3 ht3 + amplitude3 * (wave * cos(rad * (ang- phase3)) + EXP(bump * (1 + cos((ang- phase0- phase3) * rad))))
  110. define height4 ht4 + amplitude4 * (wave * cos(rad * (ang- phase4)) + EXP(bump * (1 + cos((ang- phase0- phase4) * rad))))
  111. define height5 ht5 + amplitude5 * (wave * cos(rad * (ang- phase5)) + EXP(bump * (1 + cos((ang- phase0- phase5) * rad))))
  112.  
  113. define newradius1 radius1*height1
  114. define newradius2 radius2*height2*1.3
  115. define newradius3 radius3*height3*2
  116. define newradius4 radius4*(1.9+height4)
  117. define newradius5 radius5
  118.  
  119. define f 1 
  120. define a 360 * f / 8
  121. define bend1 0
  122.  
  123. define vertex01x newradius1 * cos(rad * a)
  124. define vertex01y newradius1 * SIN(rad * a)
  125. define vertex01z height1
  126.  
  127. define vertex09x newradius2 * cos(rad * (a + 22.5))
  128. define vertex09y newradius2 * SIN(rad * (a + 22.5))
  129. define vertex09z height2
  130.  
  131. define vertex17x newradius3 * cos(rad * (a + 45))
  132. define vertex17y newradius3 * SIN(rad * (a + 45))
  133. define vertex17z height3
  134.  
  135. define vertex25x newradius3 * cos(rad * (a + 67.5))
  136. define vertex25y newradius3 * SIN(rad * (a + 67.5))
  137. define vertex25z height3
  138.  
  139. define vertex33x newradius4 * cos(rad * (a + 67.5))
  140. define vertex33y newradius4 * SIN(rad * (a + 67.5))
  141. define vertex33z height4
  142.  
  143.  
  144. define f 2 
  145. define a 360 * f / 8
  146. define bend2 45
  147.  
  148. define vertex02x newradius1 * cos(rad * a)
  149. define vertex02y newradius1 * SIN(rad * a)
  150. define vertex02z height1
  151.  
  152. define vertex10x newradius2 * cos(rad * (a + 22.5))
  153. define vertex10y newradius2 * SIN(rad * (a + 22.5))
  154. define vertex10z height2
  155.  
  156. define vertex18x newradius3 * cos(rad * (a + 45))
  157. define vertex18y newradius3 * SIN(rad * (a + 45))
  158. define vertex18z height3
  159.  
  160. define vertex26x newradius3 * cos(rad * (a + 67.5))
  161. define vertex26y newradius3 * SIN(rad * (a + 67.5))
  162. define vertex26z height3
  163.  
  164. define vertex34x newradius4 * cos(rad * (a + 67.5))
  165. define vertex34y newradius4 * SIN(rad * (a + 67.5))
  166. define vertex34z height4
  167.  
  168.  
  169. define f 3 
  170. define a 360 * f / 8
  171. define bend3 90
  172.  
  173. define vertex03x newradius1 * cos(rad * a)
  174. define vertex03y newradius1 * SIN(rad * a)
  175. define vertex03z height1
  176.  
  177. define vertex11x newradius2 * cos(rad * (a + 22.5))
  178. define vertex11y newradius2 * SIN(rad * (a + 22.5))
  179. define vertex11z height2
  180.  
  181. define vertex19x newradius3 * cos(rad * (a + 45))
  182. define vertex19y newradius3 * SIN(rad * (a + 45))
  183. define vertex19z height3
  184.  
  185. define vertex27x newradius3 * cos(rad * (a + 67.5))
  186. define vertex27y newradius3 * SIN(rad * (a + 67.5))
  187. define vertex27z height3
  188.  
  189. define vertex35x newradius4 * cos(rad * (a + 67.5))
  190. define vertex35y newradius4 * SIN(rad * (a + 67.5))
  191. define vertex35z height4
  192.  
  193.  
  194. define f 4 
  195. define a 360 * f / 8
  196. define bend4 135
  197.  
  198. define vertex04x newradius1 * cos(rad * a)
  199. define vertex04y newradius1 * SIN(rad * a)
  200. define vertex04z height1
  201.  
  202. define vertex12x newradius2 * cos(rad * (a + 22.5))
  203. define vertex12y newradius2 * SIN(rad * (a + 22.5))
  204. define vertex12z height2
  205.  
  206. define vertex20x newradius3 * cos(rad * (a + 45))
  207. define vertex20y newradius3 * SIN(rad * (a + 45))
  208. define vertex20z height3
  209.  
  210. define vertex28x newradius3 * cos(rad * (a + 67.5))
  211. define vertex28y newradius3 * SIN(rad * (a + 67.5))
  212. define vertex28z height3
  213.  
  214. define vertex36x newradius4 * cos(rad * (a + 67.5))
  215. define vertex36y newradius4 * SIN(rad * (a + 67.5))
  216. define vertex36z height4
  217.  
  218.  
  219. define f 5 
  220. define a 360 * f / 8
  221. define bend5 180
  222.  
  223. define vertex05x newradius1 * cos(rad * a)
  224. define vertex05y newradius1 * SIN(rad * a)
  225. define vertex05z height1
  226.  
  227. define vertex13x newradius2 * cos(rad * (a + 22.5))
  228. define vertex13y newradius2 * SIN(rad * (a + 22.5))
  229. define vertex13z height2
  230.  
  231. define vertex21x newradius3 * cos(rad * (a + 45))
  232. define vertex21y newradius3 * SIN(rad * (a + 45))
  233. define vertex21z height3
  234.  
  235. define vertex29x newradius3 * cos(rad * (a + 67.5))
  236. define vertex29y newradius3 * SIN(rad * (a + 67.5))
  237. define vertex29z height3
  238.  
  239. define vertex37x newradius4 * cos(rad * (a + 67.5))
  240. define vertex37y newradius4 * SIN(rad * (a + 67.5))
  241. define vertex37z height4
  242.  
  243.  
  244. define f 6 
  245. define a 360 * f / 8
  246. define bend6 225
  247.  
  248. define vertex06x newradius1 * cos(rad * a)
  249. define vertex06y newradius1 * SIN(rad * a)
  250. define vertex06z height1
  251.  
  252. define vertex14x newradius2 * cos(rad * (a + 22.5))
  253. define vertex14y newradius2 * SIN(rad * (a + 22.5))
  254. define vertex14z height2
  255.  
  256. define vertex22x newradius3 * cos(rad * (a + 45))
  257. define vertex22y newradius3 * SIN(rad * (a + 45))
  258. define vertex22z height3
  259.  
  260. define vertex30x newradius3 * cos(rad * (a + 67.5))
  261. define vertex30y newradius3 * SIN(rad * (a + 67.5))
  262. define vertex30z height3
  263.  
  264. define vertex38x newradius4 * cos(rad * (a + 67.5))
  265. define vertex38y newradius4 * SIN(rad * (a + 67.5))
  266. define vertex38z height4
  267.  
  268.  
  269. define f 7 
  270. define a 360 * f / 8
  271. define bend7 270
  272.  
  273. define vertex07x newradius1 * cos(rad * a)
  274. define vertex07y newradius1 * SIN(rad * a)
  275. define vertex07z height1
  276.  
  277. define vertex15x newradius2 * cos(rad * (a + 22.5))
  278. define vertex15y newradius2 * SIN(rad * (a + 22.5))
  279. define vertex15z height2
  280.  
  281. define vertex23x newradius3 * cos(rad * (a + 45))
  282. define vertex23y newradius3 * SIN(rad * (a + 45))
  283. define vertex23z height3
  284.  
  285. define vertex31x newradius3 * cos(rad * (a + 67.5))
  286. define vertex31y newradius3 * SIN(rad * (a + 67.5))
  287. define vertex31z height3
  288.  
  289. define vertex39x newradius4 * cos(rad * (a + 67.5))
  290. define vertex39y newradius4 * SIN(rad * (a + 67.5))
  291. define vertex39z height4
  292.  
  293.  
  294. define f 8 
  295. define a 360 * f / 8
  296. define bend8 315
  297.  
  298. define vertex08x newradius1 * cos(rad * a)
  299. define vertex08y newradius1 * SIN(rad * a)
  300. define vertex08z height1
  301.  
  302. define vertex16x newradius2 * cos(rad * (a + 22.5))
  303. define vertex16y newradius2 * SIN(rad * (a + 22.5))
  304. define vertex16z height2
  305.  
  306. define vertex24x newradius3 * cos(rad * (a + 45))
  307. define vertex24y newradius3 * SIN(rad * (a + 45))
  308. define vertex24z height3
  309.  
  310. define vertex32x newradius3 * cos(rad * (a + 67.5))
  311. define vertex32y newradius3 * SIN(